<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Percepio Trace Recorder: Trace Print APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Percepio Trace Recorder<span id="projectnumber">&#160;v4.10.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__trace__print__apis.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">Trace Print APIs<div class="ingroups"><a class="el" href="group__trace__recorder__apis.html">Trace Recorder APIs</a></div></div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga2ae6438829eafbaada2b488684a272ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga2ae6438829eafbaada2b488684a272ad">xTracePrintCompactF0</a>(szChannel,  szFormat)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga5fcbd638f23ebbe7d9a4447d0338beca">xTraceEventCreate2</a>(PSF_EVENT_USER_EVENT_FIXED, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat))</td></tr>
<tr class="memdesc:ga2ae6438829eafbaada2b488684a272ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 0 parameters. Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:ga2ae6438829eafbaada2b488684a272ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaec242a14e6e62a683286115aa012a1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#gaaec242a14e6e62a683286115aa012a1c">xTracePrintCompactF1</a>(szChannel,  szFormat,  uxParam1)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gad64822d442e36ad8b008462994442e11">xTraceEventCreate3</a>(PSF_EVENT_USER_EVENT_FIXED + 1, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1)</td></tr>
<tr class="memdesc:gaaec242a14e6e62a683286115aa012a1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 1 parameter. Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:gaaec242a14e6e62a683286115aa012a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c20dca8627818dd11ac6b34ef34bab7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga9c20dca8627818dd11ac6b34ef34bab7">xTracePrintCompactF2</a>(szChannel,  szFormat,  uxParam1,  uxParam2)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaadf63a13e25292a1c96330dae5e520b6">xTraceEventCreate4</a>(PSF_EVENT_USER_EVENT_FIXED + 2, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2)</td></tr>
<tr class="memdesc:ga9c20dca8627818dd11ac6b34ef34bab7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 2 parameters. Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:ga9c20dca8627818dd11ac6b34ef34bab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d6ffa4875c79efbab31315ca09be2a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga4d6ffa4875c79efbab31315ca09be2a5">xTracePrintCompactF3</a>(szChannel,  szFormat,  uxParam1,  uxParam2,  uxParam3)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaebde2bb91d01e7cc4e0c1adac58d46c4">xTraceEventCreate5</a>(PSF_EVENT_USER_EVENT_FIXED + 3, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2, uxParam3)</td></tr>
<tr class="memdesc:ga4d6ffa4875c79efbab31315ca09be2a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 3 parameters. Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:ga4d6ffa4875c79efbab31315ca09be2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82f0f17e2189b2dadf49a45717e9ddd1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga82f0f17e2189b2dadf49a45717e9ddd1">xTracePrintCompactF4</a>(szChannel,  szFormat,  uxParam1,  uxParam2,  uxParam3,  uxParam4)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga7c11b915f0ac18234c3bd2dd7be8610a">xTraceEventCreate6</a>(PSF_EVENT_USER_EVENT_FIXED + 4, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2, uxParam3, uxParam4)</td></tr>
<tr class="memdesc:ga82f0f17e2189b2dadf49a45717e9ddd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 4 parameters. Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:ga82f0f17e2189b2dadf49a45717e9ddd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff9ea3f83511637ee6330447a4c21878"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#gaff9ea3f83511637ee6330447a4c21878">xTracePrintF0</a>(xChannelStringHandle,  xFormatStringHandle)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga5fcbd638f23ebbe7d9a4447d0338beca">xTraceEventCreate2</a>(PSF_EVENT_USER_EVENT_FIXED, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle))</td></tr>
<tr class="memdesc:gaff9ea3f83511637ee6330447a4c21878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 0 parameters.  <br /></td></tr>
<tr class="separator:gaff9ea3f83511637ee6330447a4c21878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7f1739d99711a57d93008ef53181fbb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#gaf7f1739d99711a57d93008ef53181fbb">xTracePrintF1</a>(xChannelStringHandle,  xFormatStringHandle,  uxParam1)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gad64822d442e36ad8b008462994442e11">xTraceEventCreate3</a>(PSF_EVENT_USER_EVENT_FIXED + 1, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1)</td></tr>
<tr class="memdesc:gaf7f1739d99711a57d93008ef53181fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 1 parameter.  <br /></td></tr>
<tr class="separator:gaf7f1739d99711a57d93008ef53181fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga955568fd5e74d3c3acae96fd588cdfcf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga955568fd5e74d3c3acae96fd588cdfcf">xTracePrintF2</a>(xChannelStringHandle,  xFormatStringHandle,  uxParam1,  uxParam2)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaadf63a13e25292a1c96330dae5e520b6">xTraceEventCreate4</a>(PSF_EVENT_USER_EVENT_FIXED + 2, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2)</td></tr>
<tr class="memdesc:ga955568fd5e74d3c3acae96fd588cdfcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 2 parameters.  <br /></td></tr>
<tr class="separator:ga955568fd5e74d3c3acae96fd588cdfcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga964c84a889aad41c8e593709175e94f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga964c84a889aad41c8e593709175e94f8">xTracePrintF3</a>(xChannelStringHandle,  xFormatStringHandle,  uxParam1,  uxParam2,  uxParam3)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaebde2bb91d01e7cc4e0c1adac58d46c4">xTraceEventCreate5</a>(PSF_EVENT_USER_EVENT_FIXED + 3, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2, uxParam3)</td></tr>
<tr class="memdesc:ga964c84a889aad41c8e593709175e94f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 3 parameters.  <br /></td></tr>
<tr class="separator:ga964c84a889aad41c8e593709175e94f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4512199a161445907f00d027eeb59362"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga4512199a161445907f00d027eeb59362">xTracePrintF4</a>(xChannelStringHandle,  xFormatStringHandle,  uxParam1,  uxParam2,  uxParam3,  uxParam4)&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga7c11b915f0ac18234c3bd2dd7be8610a">xTraceEventCreate6</a>(PSF_EVENT_USER_EVENT_FIXED + 4, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2, uxParam3, uxParam4)</td></tr>
<tr class="memdesc:ga4512199a161445907f00d027eeb59362"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event" with 4 parameters.  <br /></td></tr>
<tr class="separator:ga4512199a161445907f00d027eeb59362"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga37d6564a1d5f6debc318b32b40290539"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga37d6564a1d5f6debc318b32b40290539">xTracePrintCompactF</a> (const char *szChannel, const char *szFormat,...)</td></tr>
<tr class="memdesc:ga37d6564a1d5f6debc318b32b40290539"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a "User Event". Channel and format string are only stored in ELF.  <br /></td></tr>
<tr class="separator:ga37d6564a1d5f6debc318b32b40290539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab883a6ad75c359454757ddb0503f5d3b"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#gab883a6ad75c359454757ddb0503f5d3b">xTracePrint</a> (TraceStringHandle_t xChannel, const char *szString)</td></tr>
<tr class="memdesc:gab883a6ad75c359454757ddb0503f5d3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate "User Events" with unformatted text.  <br /></td></tr>
<tr class="separator:gab883a6ad75c359454757ddb0503f5d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ec55bf7ab9f149637723ab71f6c3f92"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga8ec55bf7ab9f149637723ab71f6c3f92">xTraceConsoleChannelPrintF</a> (const char *szFormat,...)</td></tr>
<tr class="memdesc:ga8ec55bf7ab9f149637723ab71f6c3f92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for xTracePrintF for printing to default channel.  <br /></td></tr>
<tr class="separator:ga8ec55bf7ab9f149637723ab71f6c3f92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7a1c759021aaf820223232de9173c9c"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c">xTracePrintF</a> (TraceStringHandle_t xChannel, const char *szFormat,...)</td></tr>
<tr class="memdesc:gaf7a1c759021aaf820223232de9173c9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates "User Events" with formatted text and data.  <br /></td></tr>
<tr class="separator:gaf7a1c759021aaf820223232de9173c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55d9c4107dbd504c2d74b19880a7d307"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__print__apis.html#ga55d9c4107dbd504c2d74b19880a7d307">xTraceVPrintF</a> (TraceStringHandle_t xChannel, const char *szFormat, va_list *pxVariableList)</td></tr>
<tr class="memdesc:ga55d9c4107dbd504c2d74b19880a7d307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates "User Events" with formatted text and data.  <br /></td></tr>
<tr class="separator:ga55d9c4107dbd504c2d74b19880a7d307"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga2ae6438829eafbaada2b488684a272ad" name="ga2ae6438829eafbaada2b488684a272ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2ae6438829eafbaada2b488684a272ad">&#9670;&#160;</a></span>xTracePrintCompactF0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintCompactF0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szChannel, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szFormat&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga5fcbd638f23ebbe7d9a4447d0338beca">xTraceEventCreate2</a>(PSF_EVENT_USER_EVENT_FIXED, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 0 parameters. Channel and format string are only stored in ELF. </p>
<p>This is a compact and fixed version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace.</p>
<p>Example: xTraceDependencyRegister("my_project.elf", TRC_DEPENDENCY_TYPE_ELF); ... xTracePrintCompactF0("MyChannel", "MyText");</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaaec242a14e6e62a683286115aa012a1c" name="gaaec242a14e6e62a683286115aa012a1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaec242a14e6e62a683286115aa012a1c">&#9670;&#160;</a></span>xTracePrintCompactF1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintCompactF1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szChannel, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szFormat, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gad64822d442e36ad8b008462994442e11">xTraceEventCreate3</a>(PSF_EVENT_USER_EVENT_FIXED + 1, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 1 parameter. Channel and format string are only stored in ELF. </p>
<p>This is a compact and fixed version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace.</p>
<p>Example: xTraceDependencyRegister("my_project.elf", TRC_DEPENDENCY_TYPE_ELF); ... xTracePrintCompactF1("MyChannel", "MyFormat %u", 1);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga9c20dca8627818dd11ac6b34ef34bab7" name="ga9c20dca8627818dd11ac6b34ef34bab7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c20dca8627818dd11ac6b34ef34bab7">&#9670;&#160;</a></span>xTracePrintCompactF2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintCompactF2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szChannel, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szFormat, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaadf63a13e25292a1c96330dae5e520b6">xTraceEventCreate4</a>(PSF_EVENT_USER_EVENT_FIXED + 2, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 2 parameters. Channel and format string are only stored in ELF. </p>
<p>This is a compact and fixed version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace.</p>
<p>Example xTraceDependencyRegister("my_project.elf", TRC_DEPENDENCY_TYPE_ELF); ... xTracePrintCompactF2("MyChannel", "MyFormat %u %u", 1, 2);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga4d6ffa4875c79efbab31315ca09be2a5" name="ga4d6ffa4875c79efbab31315ca09be2a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4d6ffa4875c79efbab31315ca09be2a5">&#9670;&#160;</a></span>xTracePrintCompactF3</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintCompactF3</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szChannel, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szFormat, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam3&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaebde2bb91d01e7cc4e0c1adac58d46c4">xTraceEventCreate5</a>(PSF_EVENT_USER_EVENT_FIXED + 3, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2, uxParam3)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 3 parameters. Channel and format string are only stored in ELF. </p>
<p>This is a compact and fixed version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace.</p>
<p>Example: xTraceDependencyRegister("my_project.elf", TRC_DEPENDENCY_TYPE_ELF); ... xTracePrintCompactF3("MyChannel", "MyFormat %u %u %u", 1, 2, 3);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam3</td><td>Third parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga82f0f17e2189b2dadf49a45717e9ddd1" name="ga82f0f17e2189b2dadf49a45717e9ddd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga82f0f17e2189b2dadf49a45717e9ddd1">&#9670;&#160;</a></span>xTracePrintCompactF4</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintCompactF4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szChannel, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">szFormat, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam3, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam4&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga7c11b915f0ac18234c3bd2dd7be8610a">xTraceEventCreate6</a>(PSF_EVENT_USER_EVENT_FIXED + 4, (TraceUnsignedBaseType_t)(szChannel), (TraceUnsignedBaseType_t)(szFormat), uxParam1, uxParam2, uxParam3, uxParam4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 4 parameters. Channel and format string are only stored in ELF. </p>
<p>This is a compact and fixed version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace.</p>
<p>Example: xTraceDependencyRegister("my_project.elf", TRC_DEPENDENCY_TYPE_ELF); ... xTracePrintCompactF4("MyChannel", "MyFormat %u %u %u %u", 1, 2, 3, 4);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam3</td><td>Third parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam4</td><td>Fourth parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaff9ea3f83511637ee6330447a4c21878" name="gaff9ea3f83511637ee6330447a4c21878"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff9ea3f83511637ee6330447a4c21878">&#9670;&#160;</a></span>xTracePrintF0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintF0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xChannelStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xFormatStringHandle&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga5fcbd638f23ebbe7d9a4447d0338beca">xTraceEventCreate2</a>(PSF_EVENT_USER_EVENT_FIXED, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 0 parameters. </p>
<p>This is a highly optimized version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. The channel and format string must be registered using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example: TraceStringHandle_t xChannel; TraceStringHandle_t xHelloWorld;</p>
<p>xTraceStringRegister("MyChannel", &amp;xChannel); xTraceStringRegister("Hello world!", &amp;xHelloWorld); ... xTracePrintFormat0(xChannel, xHelloWorld);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">xFormatStringHandle</td><td>Format string handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaf7f1739d99711a57d93008ef53181fbb" name="gaf7f1739d99711a57d93008ef53181fbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7f1739d99711a57d93008ef53181fbb">&#9670;&#160;</a></span>xTracePrintF1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintF1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xChannelStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xFormatStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gad64822d442e36ad8b008462994442e11">xTraceEventCreate3</a>(PSF_EVENT_USER_EVENT_FIXED + 1, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 1 parameter. </p>
<p>This is a highly optimized version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. The channel and format string must be registered using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example: TraceStringHandle_t xChannel; TraceStringHandle_t xHelloWorld;</p>
<p>xTraceStringRegister("MyChannel", &amp;xChannel); xTraceStringRegister("Hello world! %d", &amp;xHelloWorld); ... xTracePrintFormat1(xChannel, xHelloWorld, 1);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">xFormatStringHandle</td><td>Format string handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga955568fd5e74d3c3acae96fd588cdfcf" name="ga955568fd5e74d3c3acae96fd588cdfcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga955568fd5e74d3c3acae96fd588cdfcf">&#9670;&#160;</a></span>xTracePrintF2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintF2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xChannelStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xFormatStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaadf63a13e25292a1c96330dae5e520b6">xTraceEventCreate4</a>(PSF_EVENT_USER_EVENT_FIXED + 2, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 2 parameters. </p>
<p>This is a highly optimized version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. The channel and format string must be registered using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example: TraceStringHandle_t xChannel; TraceStringHandle_t xHelloWorld;</p>
<p>xTraceStringRegister("MyChannel", &amp;xChannel); xTraceStringRegister("Hello world! %d %d", &amp;xHelloWorld); ... xTracePrintFormat2(xChannel, xHelloWorld, 1, 2);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">xFormatStringHandle</td><td>Format string handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga964c84a889aad41c8e593709175e94f8" name="ga964c84a889aad41c8e593709175e94f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga964c84a889aad41c8e593709175e94f8">&#9670;&#160;</a></span>xTracePrintF3</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintF3</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xChannelStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xFormatStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam3&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#gaebde2bb91d01e7cc4e0c1adac58d46c4">xTraceEventCreate5</a>(PSF_EVENT_USER_EVENT_FIXED + 3, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2, uxParam3)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 3 parameters. </p>
<p>This is a highly optimized version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. The channel and format string must be registered using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example: TraceStringHandle_t xChannel; TraceStringHandle_t xHelloWorld;</p>
<p>xTraceStringRegister("MyChannel", &amp;xChannel); xTraceStringRegister("Hello world! %d %d %d", &amp;xHelloWorld); ... xTracePrintFormat3(xChannel, xHelloWorld, 1, 2, 3);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">xFormatStringHandle</td><td>Format string handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam3</td><td>Third parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga4512199a161445907f00d027eeb59362" name="ga4512199a161445907f00d027eeb59362"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4512199a161445907f00d027eeb59362">&#9670;&#160;</a></span>xTracePrintF4</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xTracePrintF4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xChannelStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">xFormatStringHandle, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam3, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">uxParam4&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__trace__event__apis.html#ga7c11b915f0ac18234c3bd2dd7be8610a">xTraceEventCreate6</a>(PSF_EVENT_USER_EVENT_FIXED + 4, (TraceUnsignedBaseType_t)(xChannelStringHandle), (TraceUnsignedBaseType_t)(xFormatStringHandle), uxParam1, uxParam2, uxParam3, uxParam4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event" with 4 parameters. </p>
<p>This is a highly optimized version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. The channel and format string must be registered using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example: TraceStringHandle_t xChannel; TraceStringHandle_t xHelloWorld;</p>
<p>xTraceStringRegister("MyChannel", &amp;xChannel); xTraceStringRegister("Hello world! %d %d %d %d", &amp;xHelloWorld); ... xTracePrintFormat4(xChannel, xHelloWorld, 1, 2, 3, 4);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">xFormatStringHandle</td><td>Format string handle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam1</td><td>First parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam2</td><td>Second parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam3</td><td>Third parameter. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uxParam4</td><td>Fourth parameter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga8ec55bf7ab9f149637723ab71f6c3f92" name="ga8ec55bf7ab9f149637723ab71f6c3f92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8ec55bf7ab9f149637723ab71f6c3f92">&#9670;&#160;</a></span>xTraceConsoleChannelPrintF()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceConsoleChannelPrintF </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for xTracePrintF for printing to default channel. </p>
<p>Wrapper for vTracePrintF, using the default channel. Can be used as a drop-in replacement for printf and similar functions, e.g. in a debug logging macro. NOTE! All parameters must be cast to TraceUnsignedBaseType_t/TraceBaseType_t!</p>
<p>Example: // Old: #define LogString debug_console_printf</p>
<p>// New, log to Tracealyzer instead: #define LogString xTraceConsoleChannelPrintF ... LogString("My value is: %d", myValue);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Parameters.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gab883a6ad75c359454757ddb0503f5d3b" name="gab883a6ad75c359454757ddb0503f5d3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab883a6ad75c359454757ddb0503f5d3b">&#9670;&#160;</a></span>xTracePrint()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTracePrint </td>
          <td>(</td>
          <td class="paramtype">TraceStringHandle_t&#160;</td>
          <td class="paramname"><em>xChannel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szString</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate "User Events" with unformatted text. </p>
<p>User Events can be used for very efficient application logging, and are shown as yellow labels in the main trace view.</p>
<p>You may group User Events into User Event Channels. The yellow User Event labels shows the logged string, preceded by the channel name within brackets. For example:</p>
<p>"[MyChannel] Hello World!"</p>
<p>The User Event Channels are shown in the View Filter, which makes it easy to select what User Events you wish to display. User Event Channels are created using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example:</p>
<p>TraceStringHandle_t xChannel; xTraceStringRegister("MyChannel", &amp;xChannel); ... xTracePrint(xChannel, "Hello World!");</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szString</td><td>String.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga37d6564a1d5f6debc318b32b40290539" name="ga37d6564a1d5f6debc318b32b40290539"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga37d6564a1d5f6debc318b32b40290539">&#9670;&#160;</a></span>xTracePrintCompactF()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTracePrintCompactF </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szChannel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate a "User Event". Channel and format string are only stored in ELF. </p>
<p>This is a compact version of <a class="el" href="group__trace__print__apis.html#gaf7a1c759021aaf820223232de9173c9c" title="Generates &quot;User Events&quot; with formatted text and data.">xTracePrintF()</a>. Only addresses to channel and format strings are stored and an ELF file must be provided to interpret the trace. NOTE! All parameters must be cast to TraceUnsignedBaseType_t/TraceBaseType_t!</p>
<p>Example: xTracePrintCompact("MyChannel", "MyFormat %d", 1);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">szChannel</td><td>Channel string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format string.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaf7a1c759021aaf820223232de9173c9c" name="gaf7a1c759021aaf820223232de9173c9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7a1c759021aaf820223232de9173c9c">&#9670;&#160;</a></span>xTracePrintF()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTracePrintF </td>
          <td>(</td>
          <td class="paramtype">TraceStringHandle_t&#160;</td>
          <td class="paramname"><em>xChannel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates "User Events" with formatted text and data. </p>
<p>Generates "User Events", with formatted text and data, similar to a "printf". It is very fast since the actual formatting is done on the host side when the trace is displayed.</p>
<p>User Events can be used for very efficient application logging, and are shown as yellow labels in the main trace view. An advantage of User Events is that data can be plotted in the "User Event
Signal Plot" view, visualizing any data you log as User Events, discrete states or control system signals (e.g. system inputs or outputs).</p>
<p>You may group User Events into User Event Channels. The yellow User Event labels show the logged string, preceded by the channel name within brackets.</p>
<p>Example:</p>
<p>"[MyChannel] Hello World!"</p>
<p>The User Event Channels are shown in the View Filter, which makes it easy to select what User Events you wish to display. User Event Channels are created using <a class="el" href="trcRecorder_8h.html#aaa9ee50f419cb5dda37c17dfa0144c3a" title="Registers a string and returns a handle that can be used when tracing.">xTraceStringRegister()</a>.</p>
<p>Example:</p>
<p>TraceStringHandle_t adc_uechannel; xTraceStringRegister("ADC User Events", &amp;adc_uechannel); ... xTracePrintF(adc_uechannel, "ADC channel %d: %d volts", ch, (TraceBaseType_t)adc_reading);</p>
<p>NOTE! All data arguments must be TraceUnsignedBaseType_t or TraceBaseType_t.</p>
<p>The following formats are supported: d - signed integer. The following width and padding format is supported: "%05d" -&gt; "-0042" and "%5d" -&gt; "  -42" u - unsigned integer. The following width and padding format is supported: "%05u" -&gt; "00042" and "%5u" -&gt; "   42" X - hexadecimal (uppercase). The following width and padding format is supported: "%04X" -&gt; "002A" and "%4X" -&gt; "  2A" x - hexadecimal (lowercase). The following width and padding format is supported: "%04x" -&gt; "002a" and "%4x" -&gt; "  2a" s - string. A TraceStringHandle_t from a string that was stored using xTraceStringRegister(...).</p>
<p>A maximum of 5 parameters will be stored in the event along with the format string. On a 32-bit system; a maximum size of 52 bytes is allowed for the parameters and format string combined. Each parameter takes 4 bytes. On a 64-bit system; a maximum size of 112 bytes is allowed for the parameters and format string combined. Each parameter takes 8 bytes. The format string will be truncated if maximum size is exceeded.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Parameters.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga55d9c4107dbd504c2d74b19880a7d307" name="ga55d9c4107dbd504c2d74b19880a7d307"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga55d9c4107dbd504c2d74b19880a7d307">&#9670;&#160;</a></span>xTraceVPrintF()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceVPrintF </td>
          <td>(</td>
          <td class="paramtype">TraceStringHandle_t&#160;</td>
          <td class="paramname"><em>xChannel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szFormat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list *&#160;</td>
          <td class="paramname"><em>pxVariableList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generates "User Events" with formatted text and data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">xChannel</td><td>Channel. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">szFormat</td><td>Format. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pxVariableList</td><td>Pointer to variable list arguments.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 </li>
  </ul>
</div>
</body>
</html>
